package com.jinhongone.beans.factory.support;

import com.jinhongone.beans.factory.config.BeanDefinition;

/**
 * @author jinho
 * @className BeanDefinitionRegistry
 * @description beanDefinition注册表（beanDefition的存放位置）,该接口只定义规范，功能由子类提供具体实现
 * @date 2025/4/25 16:20
 */
public interface BeanDefinitionRegistry {

    //注册bean到注册表中
    void registryBeanDefinition(String beanName, BeanDefinition bd);
    //从注册表中删除指定名称的bean
    void removeBeanDefinitionByName(String beanName);
    //根据名称获取bean
    BeanDefinition getBeanDefinitionByName(String beanName);
    //判断注册表是否包含指定名称的bean
    boolean containByName(String beanName);
    //获取注册表中bean的个数
    int getBeanDefinitionCount();
    //获取注册表中所有bean的名称
    String[] getBeanDefintionNames();

}
